/*************************************************
 File name : lcd_show.c
 Create date : 2015-04-14 19:17
 Modified date : 2015-04-14 19:17
 Author : heqingde
 Email : hqd173@163.com
 
 ***********************************************/
#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
#include<string.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
#include<sys/mman.h>

int main(void)
{
	//1.打开设备
	int fd = open("/dev/fb0", O_RDWR);
	//2.映射lcd到用户空间
	unsigned int *p = mmap(NULL, 800*480*4, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
	//3.赋值
	int i, j;
	for(i=0; i<480; i++)
	{
		for(j=0; j<800; j++)
		{
			*((p+j)+i*800) = 0xff0000;
		}
	}
	
	sleep(2);
	//刷彩条
	int color[800*480];
	int x = 0;
	for(i=0; i<10; i++)
	{
		for(x=i*(800*48); x<800*48*(i+1); x++)
		{
			if(i%2 == 0)
			{
				color[x] = 0xff0000;
			}else
				color[x] = 0xff;
		}
	}
	memcpy(p, color, 800*480*4);

	//4.释放映射，关闭设备
	munmap(p, 800*480*4);
	close(fd);
	return 0;
}

